home *** CD-ROM | disk | FTP | other *** search
- import com.siemens.mp.io.File;
- import javax.microedition.lcdui.Alert;
- import javax.microedition.lcdui.Command;
- import javax.microedition.lcdui.CommandListener;
- import javax.microedition.lcdui.Display;
- import javax.microedition.lcdui.Displayable;
- import javax.microedition.lcdui.TextBox;
- import javax.microedition.midlet.MIDlet;
-
- public class FlashSMS extends MIDlet implements CommandListener {
- static String header = "RPN-FlashSMS";
- private Display display;
- private TextBox text1;
- private Command cmExit;
- private Command cmInfo;
- private Command cmFlashIt;
- private Command cmSave;
- private Alert alert;
- private static final byte[] FLASH_HEAD = new byte[]{11, 11, 0, 0, 0, 7, 6, -111, 102, 49, 1, -127, 0, 17, 0, 0, -127, 0, -16, -1};
- // $FF: renamed from: fn com.siemens.mp.io.File
- private File field_0;
-
- public FlashSMS() {
- this.text1 = new TextBox(header, "", 160, 0);
- this.cmExit = new Command("Exit", 7, 4);
- this.cmInfo = new Command("Info", 1, 3);
- this.cmFlashIt = new Command("FlashThisFile", 1, 2);
- this.cmSave = new Command("SaveAsFlash", 1, 1);
- this.alert = new Alert(header);
- this.field_0 = new File();
- this.display = Display.getDisplay(this);
- }
-
- protected void startApp() {
- this.text1.addCommand(this.cmExit);
- this.text1.addCommand(this.cmInfo);
- this.text1.addCommand(this.cmFlashIt);
- this.text1.addCommand(this.cmSave);
- this.text1.setCommandListener(this);
- this.display.setCurrent(this.text1);
- }
-
- public void commandAction(Command var1, Displayable var2) {
- String var3 = "";
- if (var1 == this.cmExit) {
- this.destroyApp(true);
- } else if (var1 == this.cmInfo) {
- var3 = "FlashSMS by RizaPN\n\nModify SMO File to be a Flash-SMO File\n\nSalam,\nRiza Purwo Nugroho\nJakarta-Indonesia";
- } else if (var1 == this.cmFlashIt) {
- String var4 = this.text1.getString();
- if (File.exists(var4) < 0) {
- var3 = "File " + var4 + " not found in its storage directory !";
- } else {
- try {
- int var5 = this.field_0.open(var4);
- int var6 = this.field_0.length(var5);
- if (var6 == 181) {
- byte[] var7 = new byte[var6];
- this.field_0.read(var5, var7, 0, var6);
- var7[18] = -16;
- this.field_0.seek(var5, 0);
- this.field_0.write(var5, var7, 0, var6);
- var3 = "OK. File " + var4 + " had been modified.";
- this.text1.setString("");
- } else {
- var3 = "File " + var4 + " is not a valid SMO File.";
- }
-
- this.field_0.close(var5);
- } catch (Exception var12) {
- var3 = "Error opening file " + var4 + "!";
- }
- }
- } else {
- String var13 = this.text1.getString();
- byte[] var14 = new byte[181];
-
- for(int var15 = 0; var15 < var14.length; ++var15) {
- var14[var15] = -1;
- }
-
- System.arraycopy(FLASH_HEAD, 0, var14, 0, 20);
- int var16 = var13.length();
- byte[] var8 = make7BitString(var13.getBytes(), var16);
- System.arraycopy(var8, 0, var14, 21, var8.length);
- var14[20] = (byte)var16;
-
- try {
- String var9 = "FlashSMS.smo";
- int var10 = this.field_0.open(var9);
- this.field_0.write(var10, var14, 0, var14.length);
- var3 = "OK. Text had been saved as file " + var9;
- this.text1.setString("");
- this.field_0.close(var10);
- } catch (Exception var11) {
- var3 = "Error writing to file";
- }
- }
-
- if (var3 != "") {
- this.alert.setString(var3);
- this.display.setCurrent(this.alert);
- }
-
- }
-
- public static byte[] make7BitString(byte[] var0, int var1) {
- if (var1 == 0) {
- return null;
- } else {
- byte[] var3 = new byte[(var1 + 1) * 7 / 8];
-
- for(int var2 = 0; var2 < var3.length; ++var2) {
- var3[var2] = -1;
- }
-
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- int var7 = 0;
-
- while(var6 < var1) {
- int var8 = var0[var6++];
- if (var8 < 0) {
- var8 += 256;
- }
-
- if (var5 == 0) {
- var4 = 0;
- var4 |= var8;
- var5 = 7;
- } else {
- var4 |= var8 << var5;
- var3[var7++] = (byte)(var4 & 255);
- var4 >>= 8;
- --var5;
- }
- }
-
- if (var5 != 0) {
- var3[var7++] = (byte)(var4 & 255);
- }
-
- return var3;
- }
- }
-
- protected void pauseApp() {
- }
-
- protected void destroyApp(boolean var1) {
- ((MIDlet)this).notifyDestroyed();
- }
- }
-